package com.ourteam.education.api;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;

import com.ourteam.education.dao.CourseItemDAOQueryBean;
import com.ourteam.education.domain.CourseItemBean;
import com.ourteam.education.service.CourseManageServiceFactory;
import com.ourteam.education.service.ICourseManageService;
import com.ourteam.frame.controller.AbstractCRUDServiceController;

@Controller
@CrossOrigin
@RequestMapping("/api/EDUCATION/courseItem")
public class CourseItemMagaeAPI
		extends AbstractCRUDServiceController<CourseItemDAOQueryBean, CourseItemSearchBean, CourseItemBean> {

	private static final ICourseManageService COURSE_MANAGE_SERVICE = CourseManageServiceFactory
			.getCourseManageService();

	@Override
	protected CourseItemDAOQueryBean newQueryBean() {
		return new CourseItemDAOQueryBean();
	}

	@Override
	protected int queryCount(CourseItemDAOQueryBean queryBean) throws Exception {
		return COURSE_MANAGE_SERVICE.queryCourseItemCount(queryBean);
	}

	@Override
	protected CourseItemBean[] queryData(CourseItemDAOQueryBean queryBean) throws Exception {
		return COURSE_MANAGE_SERVICE.queryCourseItems(queryBean);
	}

	@Override
	protected void deleteData(long[] ids) throws Exception {

		COURSE_MANAGE_SERVICE.deleteCourseItems(ids);
	}

	@Override
	protected CourseItemBean getDataById(long id) throws Exception {
		return COURSE_MANAGE_SERVICE.getCourseItemById(id);
	}

	@Override
	protected void saveData(CourseItemBean dataBean) throws Exception {

		if (dataBean.getId() != 0) {
			COURSE_MANAGE_SERVICE.modifyCourseItem(dataBean);
		} else {
			COURSE_MANAGE_SERVICE.addNewCourseItem(dataBean);
		}

	}

}
